package com.cloudbroker.bcs.platform.dav.middle.extservice.yunxin;

import java.util.Map;

/**
 * Created by wangxu13798 on 2016/3/14.
 */
public interface YunxinService {

    /**
     * 通用
     */
    public Map<String, Object> general(Map<String, Object> params, String url);

    /**
     * 创建云信ID
     * @param params 请求的参数
     * @return 用户id和token
     */
    public Map<String, Object> accountCreate(Map<String, Object> params);

    /**
     * 云信ID更新
     */
    public Map<String, Object> accountUpdate(Map<String, Object> params);

    /**
     * 更新并获取新token
     */
    public Map<String, Object> refreshToken(Map<String, Object> params);

    /**
     * 封禁云信ID
     */
    public Map<String, Object> accountBlock(Map<String, Object> params);

    /**
     * 解禁云信ID
     */
    public Map<String, Object> accountUnBlock(Map<String, Object> params);

    /**
     * 更新用户名片
     */
    public Map<String, Object> updateUserInfo(Map<String, Object> params);

    /**
     * 获取用户名片
     */
    public Map<String, Object> getUserInfo(Map<String, Object> params);

    /**
     * 创建聊天室
     */
    public Map<String, Object> createChatroom(Map<String, Object> params);

    /**
     * 查询聊天室信息
     */
    public Map<String, Object> getChatroomInfo(Map<String, Object> params);

    /**
     * 更新聊天室信息
     */
    public Map<String, Object> updateChatroomInfo(Map<String, Object> params);

    /**
     * 修改聊天室开/关闭状态
     */
    public Map<String, Object> toggleCloseStat(Map<String, Object> params);

    /**
     * 设置聊天室内用户角色
     */
    public Map<String, Object> setMemberRole(Map<String, Object> params);

    /**
     * 请求聊天室地址
     */
    public Map<String, Object> getChatroomAddr(Map<String, Object> params);

    /**
     * 发送聊天室消息
     */
    public Map<String, Object> sendChatroomMsg(Map<String, Object> params);

    /**
     * P2P拉黑或静音
     */
    public Map<String, Object> setSpecialRelation(Map<String, Object> params);

    /**
     * 记录聊天记录
     */
    public Map<String, Object> setHisChat(String broker_key, String content);

    /**
     * 获取近期内聊天记录
     */
    public Map<String, Object> getHisChat(String broker_key, Long position, Long num);
}
